home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / eulisp / feel0_89.lha / Feel / bin / gcc2 / ld
Encoding:
Text File  |  1993-06-08  |  1.4 KB  |  71 lines

  1. #!/bin/sh
  2.  
  3. # $Id: ldn,v 1.2 90/11/29 21:48:09 is Exp $
  4. # $Log:    ldn,v $
  5. # Revision 1.2  90/11/29  21:48:09  is
  6. # Changed brad_export to denton_export
  7. # Revision 1.1  90/11/29  21:47:24  is
  8. # Replacement ld script for Eulisp
  9.  
  10. PATH=/usr/local/contrib/bin.sun4:/usr/local/bin:/bin:/usr/bin:/usr/ucb:$PATH
  11.  
  12. # A replacement LD script.
  13. # Go through the arguements, and try and guess which are the ones
  14. # which are elvira modules. Construct the setup function
  15.  
  16. echo "Building init_elvira.c"
  17. comline=""
  18. elviram=""
  19.  
  20. while [ $# -gt 0 ]
  21. do
  22.     case "$1" in
  23.     -d*)    ;;
  24.     -e)    shift ;;
  25.     /lib/crt0.o) ;;
  26.     -*)
  27.         comline="$comline $1";;
  28.     *init_elvira.o)
  29.         ;;
  30.     *elvira.o)
  31.         comline="$comline init_elvira.o $1";;
  32.     *.o)
  33.         comline="$comline $1"
  34.         elviram="$elviram $1";;
  35.     *)
  36.         comline="$comline $1";;
  37.     esac
  38.     shift
  39. done
  40.  
  41. # When we get here, we should have a list of .o files belonging to 
  42. # Elvira modules
  43. #
  44. # Look for their startup routines
  45.  
  46. elviram=`echo $elviram | sed 's/\.c/.o/g'`
  47.  
  48. initnames=`nm -gp $elviram | egrep ' T _INIT_' | awk '{print $3}' | sed 's/_//'`
  49.  
  50. rm -f init_elvira.c
  51. cat ${FEELDIR}/Src/el_linkins.c > init_elvira.c
  52.  
  53. echo '
  54. void initialise_elvira_modules(LispObject *stacktop) 
  55. {
  56.   dp = nil;
  57.   dlp = nil;
  58.  
  59. ' >> init_elvira.c
  60.  
  61. for i in $initnames
  62. do
  63. echo "    $i(stacktop);" >> init_elvira.c
  64. done
  65. echo "}" >> init_elvira.c
  66. unset COMPILER_PATH
  67. gcc  -c $ElviraHdrs init_elvira.c &&
  68. gcc   `echo $comline | sed -e 's/\/lib\/Mcrt1.o//'`
  69.